A laser scanning projector or “picoprojector” is a small, portable electronic device. Picoprojectors are typically paired to user devices such as smart glasses, smartphones, tablets, laptops, or digital camera, and used to project virtual and augmented reality, documents, images, or video stored on those user devices onto a projection surface, such as a wall, light field or holographic surface. Laser scanning projectors may also be used in augmented or virtual reality systems.
Such picoprojectors typically include a projection subsystem and an optical module. The paired user device serves an image stream (e.g. video stream) to the projection subsystem. The projection subsystem properly drives the optical module so as to project the image stream onto the projection surface for viewing.
In greater detail, typical optical modules are comprised of a laser source and one or more microelectromechanical (MEMS) mirrors to scan the laser beam produced by the laser source across the projection surface in a projection pattern. By modulating the laser beam according to its position on the projection surface, while the laser beam is scanned in the projection pattern, the image stream is displayed. Commonly, at least one lens focuses the beam after reflection by the one or more MEMS mirrors, and before the laser beam strikes the projection surface, although optical modules of other designs may be used.
The projection subsystem controls the driving of the laser source and the driving of the movement of the one or more MEMS mirrors. Typically, the driving of movement of one of MEMS mirrors is at, or close to, the resonance frequency of that MEMS mirror, and the driving of movement of another of the MEMS mirrors is performed quasi-statically and not in resonance. It is noted that the resonance frequency used for driving one MEMS mirror can vary under different operating conditions.
An issue created in the pairing of a user device to a picoprojector is that the user device treats the picoprojector as a slave of the user device, and serves the image stream according to an internally generated clock, with no coupling between the at least one MEMS mirror and the user device. This may result in a mismatch between the speed at which the image stream is actually received by the picoprojector and the speed at which the picroprojector would need to receive the image stream in order to display the image stream on the fly.
To address this issue, a frame buffer is placed between the user device and the picoprojector. The image stream is served to the frame buffer at the rate it is provided by the user device, and is read from the frame buffer by the picoprojector at the rate required in order to properly display the image stream. While this does properly address the issue, it has the drawback of introducing an undesirable amount of delay between the image stream as served by the user device and the display of the image stream on the projection surface by the picoprojector. There is also the drawback of the cost of the large frame buffer itself.
Therefore, further development in the area of picoprojectors is needed to develop techniques by which the above issues can be addressed, without the above drawbacks.